1. Field of the Invention
The present intention relates to BIOS memory and more specifically relates to methods and structures for permitting dynamic customization of BIOS information.
2. Discussion of Related Art
Most present-day computer systems, such as personal computers and workstations, includes a main processor coupled to a variety of peripheral device adapters for exchange of information with peripheral devices such as disk drives, tape drives, display monitors etc. The peripheral device adapters generally adapt signals provided by the main processor to application to a peripheral device. a system bus couples the peripheral device adapters to the main processor (often through other interface component). The peripheral device adapter, in turn, couples to appropriate signals for the peripheral device.
In general, such present computer systems typically include BIOS information including program instructions executed by the main processor upon system reset or power up. A principal function of such BIOS program instructions is to startup the computing system in an orderly manner often referred to as “boot up.”
It is also generally known that peripheral device adapters include BIOS information accessed by the system main processor during the boot up process as well as, potentially, during normal operation of the computer system. The BIOS information contained within such peripheral device adapters includes header information that may be used to identify the particular peripheral device adapter and/or parameters thereof as well as program instructions unique to the initialization, control and operation of the respective peripheral device adapter.
Manufacturers of such peripheral device adapters often design and manufacture a related family of products that differ in relatively minor respects as regards the design and operation of BIOS program instructions required to operate each member of the family. Similarly, manufacturers of such peripheral device adapters may provide customized versions of a particular adapter for each of a plurality of customers. In such circumstances, the manufacturer may generate and maintain a plurality of versions of BIOS information. For example, BIOS information for each member of a family of related products may differ only in that the device identification information contained in a header portion of the BIOS information may reflect a different device ID. Or, similarly, where a manufacturer produces a variety of peripheral device adapters customized only in that different customers may have unique branding requirements, multiple versions of the BIOS information may be generated and maintained by the manufacturer where the only difference is a vendor ID code included in the header information. Still further, particular customers of a manufacturer may desire unique customized features in the startup initialization, control or normal operation of a peripheral device adapter. In such circumstances, the manufacturer may again produce multiple versions of the BIOS program instructions associated with each customized version of the peripheral device adapter.
As presently known in the art, BIOS information is usually stored in read only memory devices (or in flash memory devices) accessible by the peripheral device adapter and the host system processor. Therefore, present practices requires that a manufacturer of peripheral device adapter components generate and maintain a plurality of BIOS information images despite the fact that they may differ in only minor, insignificant respects. Maintaining such multiple versions imposes overhead logistic complexities and costs on manufacturers of peripheral device adapters. Such logistic complexities may also tend to induce errors as updates may be applied to certain versions but not other versions where multiple versions of BIOS images need be maintained.
It is evident from the above discussion that a need exists for a peripheral device adapter architecture that improves the ability of a peripheral device adapter manufacturer to generate and maintain a minimal number of versions of BIOS information for closely related peripheral device adapters.